package com.xukai.springboot.datalayer.statis;

import com.xukai.springboot.entity.statistics.t_statis_data;
import org.apache.ibatis.annotations.*;

import java.util.Date;

/**
 * 统计数据管理
 */
@Mapper
public interface StatisDataMapper {

    /**
     * 根据数据源获取统计数据
     */
    @Select("SELECT id,dataSourceID,`data`, createTime,lastUpdateTime from t_statis_data where dataSourceID=#{dataSourceID}")
    public t_statis_data GetStatisData(@Param("dataSourceID") int dataSourceID);


    /**
     * 判断数据源对应的统计数据是否存在
     */
    @Select("SELECT count(id) from t_statis_data where dataSourceID=#{dataSourceID}")
    @ResultType(Integer.class)
    public int GetStatisDataCount(@Param("dataSourceID") int dataSourceID);

    /**
     * 新建统计数据
     */
    @Insert("INSERT INTO t_statis_data(dataSourceID,`data`, createTime,lastUpdateTime ) \n" +
            "VALUES (#{dataSourceID},#{data}, #{createTime},#{lastUpdateTime} )")
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    public void AddStatisDataCount(t_statis_data data);

    /**
     * 更新统计数据
     */
    @Update("UPDATE t_statis_data set `data`=#{data}, lastUpdateTime=#{lastUpdateTime} where dataSourceID=#{dataSourceID}")
    public void UpdateStatisData(@Param("data") String data, @Param("lastUpdateTime") Date lastUpdateTime, @Param("dataSourceID") int dataSourceID);
}
